#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <arpa/inet.h>


int main()
{ 
    int RAND_NUM= 2;
    // 1. 创建用于通信的套接字
    int fd = socket(AF_INET, SOCK_STREAM, 0);
    if(fd == -1)
    {
        perror("socket");
        exit(0);
    }

    // 2. 连接服务器
    struct sockaddr_in addr;
    addr.sin_family = AF_INET;     // ipv4
    addr.sin_port = htons(8888);   // 服务器监听的端口, 字节序应该是网络字节序
    inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr.s_addr);
    int ret = connect(fd, (struct sockaddr*)&addr, sizeof(addr));
    if(ret == -1)
    {
        perror("connect");
        exit(0);
    }

    // 通信
    int number=0;
    while(number<100)
    {
        // 发送数据
        char buf[1024];
        memset(buf,0x00,1024);
        sprintf(buf, "[%d]你好, 服务器...%d\n",RAND_NUM, number++);
        write(fd, buf, strlen(buf)+1);
        memset(buf,0x00,1024);
        read(fd,buf,sizeof(buf)-1);
        printf("收到:%s",buf);
        
        // 接收数据
        sleep(1);   // 每隔1s发送一条数据
    }

    // 释放资源
    close(fd); 

    return 0;
}


